

package lpca.utils 
{	
	import lpca.utils.Matrix;
	import flash.display.*;
	/**
	 * ...
	 * @author Figishe
	 */
	public interface IMaze 
	{	
		function show(): void; // вывод на монитор
		function showGraphics(movieClip: MovieClip, scaleX: int, scaleY: int):void
		
		function setCell(point: Point,  cell: Cell): void;
		function getCell(point: Point): Cell;
		//function setStartPoint(point: Point): void
		
		function getStartPoint(): Point;
		function getFinishPoint(): Point;
		
		function setStartPoint(point: Point): void;
		function setFinishPoint(point: Point): void;
		
		function getSizeX(): int;
		function getSizeY(): int;
		
		function insertMatrix(x0: int, y0: int, m: Matrix): void;
		
		function fillWith(cell: Cell): void;
		
		function getMaxDirection(): int;
		function getMinDirection(): int;
		function getNextDirection(dir: int): int;
		
		//function mirroredDirection(direction: int): int;
		
		//статические функции нельзя поместить в интерфейс
		
		function getNearestCell(point: Point, direction: int): Cell;
	}
	
}